<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
    
        #bod {
            width: 100%;
            height: 1000px;
            background-color: red;
        }
    
    </style>
</head>

<body id="bod">
   
    <script>

  //    页面两次点击时间  超过5s就提示5s没点了
        // let cc = { 'newTime': new Date().getTime() }
        // Object.defineProperty(cc, 'cliTime', {
        //     get() {
        //         return this.newTime
        //     },
        //     set(value) {
        //         if (value - this.newTime > 5000) { 
        //             console.log('5s内没点了')  
               
        //         }
        //         this.newTime = value
        //     }
        // })
        // document.querySelector('#bod').onclick = function () {
        //     console.log('disn')
        //     cc.cliTime = new Date().getTime()
        // }
        let dd = {'_oldTime':new Date().getTime()}
        var pro = new Proxy(dd,{
                get(target,key){
                        // return ()=>{
                           return ()=>2                     // 尽可能的去return 一个函数再return。不然报错丫
                        // }
                },
                set(target,key,value){
                    console.log(value)                                 
                    console.log(target['_oldTime'])
                    console.log(this)                   // 这里的this指的是当前这个对象,也就是Proxy的第二个参数，而target是第一个参数；
                    if(value-target['_oldTime']>5000) {
                        console.log('5s没点了都')
                    }
                   target['_oldTime'] = value
                   target[key]=value
                }
        })
        document.querySelector('#bod').onclick = function () {
            console.log('disn')
            pro.time = new Date().getTime()
            console.log(pro==2)                                 // true  打印它还是个对象
        }
    </script>
</body>

</html>